﻿var DatosPersonales;
$(document).ready(function () {
    DatosPersonales = {
        //Contenedor
        Container: $("#datospersonales"),

        //Sub-Contenedor
        Toolbar: "#toolbar",
        Lista: "#lista",
        Formulario: "#formulario",

        //URL
        URL_FORMULARIO: URL_PAGE + "Alumno/DatosPersonales/Formulario",
        URL_REGISTRAR: URL_PAGE + "Alumno/DatosPersonales/Registrar",

        //Parametros
        IdActor: 0,

        //Botones del Formulario
        BtnFormulario: {
            Aceptar: "#Aceptar",
            Cancelar: "#Cancelar"
        },

        //Campos Bloquedos
        CamposFormulario: {},

        //Formulario
        Form: {
            //Hace referencia al Objeto Form (Formulario)
            obj: '',

            //Hace referencia al Objeto padre
            self: '',

            //Cargando el formulario
            Load: function () {
                data = { idactor: this.self.IdActor };
                this.Onload(data);
            },

            Onload: function (data) {
                var self = this.self;
                $.ajax({
                    type: "POST",
                    data: data,
                    url: self.URL_FORMULARIO,
                    cache: false,
                    success: function (html) {
                        //Pintando el formulario
                        self.Formulario.html(html);

                        //Obteniendo el formulario y seteandolo
                        var form = self.Formulario.find("form");

                        //Visibilidad
                        self.Form.VisibilidadCampos(form);

                        form.attr("action", self.URL_REGISTRAR);
                        self.Form.obj = form;
                    }
                });
            },

            Init: function (self) {

                this.self = self;
                var form = self.Formulario.find("form");

                self.Form.obj = form;
                form.attr("action", self.URL_REGISTRAR);

                //Validando los datos antes de ser enviados
                self.Form.ValidateForm(form);
                self.Form.VisibilidadCampos(form);

                //Configuracion del Envio de datos del formulario
                //Eliminando el evento del formulario
                form.expire();
                form.livequery('submit', function () {

                    //Si la validacion no es exitosa entonces no se realiza el submit
                    if (!$(this).valid()) {
                        return false;
                    }

                    $(this).ajaxSubmit({
                        success: function (responseText, statusText, xhr, $form) {
                            self.Formulario.slideDown("slow", function () {
                                self.Form.Load();
                            });
                        }
                    });
                    return false;
                });
            },

            //Validando los datos que esta ingresados en el formulario
            ValidateForm: function (form) {
                //                form.livequery(function () {
                //                    $(this).validate({
                //                        rules: {},
                //                        messages: {}
                //                    });
                //                });
            },

            VisibilidadCampos: function (form) {
                $.each(this.self.CamposFormulario, function (index, value) {                    
                    if (value)
                        form.find("#" + index).attr("disabled", true);
                });
            }
        },
        Init: function (IdActor, Campos) {
            var self = this;

            self.CamposFormulario = Campos;
            self.IdActor = IdActor;

            //Inicializando datos        
            self.Formulario = self.Container.find(self.Formulario);
            //Inicializando el formulario
            self.Form.Init(self);
        }
    }
});